Skip to main content

Full text of "Sinc Link"

See other formats


SINC-LINK 


Vol.  6  No.  6 


iinC-LlfK  !4S  -lEUSKIOn  Or 

a  wis  ffss  imss? 
^iJLf®1  a» non-asai. 

SUE J33SU  S3£!«5  fi  F3«  G0» 
gL-MK  OF  36  moo 


of  ope,  na  oas?  -ii 

iMCL8IR  ma  SOU?! 


&l  »wSiflL  u  public  m\n 

go:  ai:  PusncKion  add  as 
warn  \~m  m  nssttn.. 


«uffluon:  jimh.hi  aim 
awro  ciasu  incut  m  yjai 

CUgjJj  RICHOBc  CttRL 

^amisi,  onnio,  wwr, 

I1K  SI 


EXECUTIVE  OFFICERS: 


NOV-DEC  '88 


LATE  FALL  EDITION 


Page  2 

EDITORIAL 

Page  3 

MSCRIPT  5.3  REVIEW 

Page  4,5 

MEMBERS'  LETTERS 

Page  6 

LOTTERY  PROGRAM 

Page  7 

QL  BEGINNERS 

Page  8 

"HACKER"  REVIEW 

Page  9 

LARKEN  TIPS 

Page  10 

PROJECTS 

Page  11 

LARKEN  LIBRARY? 

Page  12 

"FIRST  CLASS  FONTS" 

Page  13 

TASWORO  DRIVER 

Page  14 

THE  LAST  PAGE 

PRESIDENT: 
TREASURER: 
SECRETARY: 

ACTIVITIES  DIRECTOR: 
TAPE  LIBRARIAN  ZX81 
TAPE  LIBRARIAN  2068: 
PAPER  LIBRARIAN: 
NEWSLETTER: 
LIAISON  OFFICER: 
(  Out-of-town  members  ) 


JEFF  TAYLOR  (  244-8583  ) 
BILL  LAWSON  (  444-8772  ) 
GEORGE  CHAMBERS  (  751-7559  ) 
RENE  BRUNEAU  (  531-9749  ) 

RENATO  ZANNESE  (  635-6536  ) 
GREG  ROBINS  (  920-7747  ) 
JEFF  TAYLOR 

GEORGE  CHAMBERS,  14  RICHOME  COURT, 
SCARBOROUGH,  ONTARIO,  M1K  2Y1 
(  416-751-7559  ) 


TORONTO  TIMEX  -  SINCLAIR  USERS  CLUB 

14  RICHOME  COURT,  SCARBOROUGH,  ONTARIO,  M1K  2Y1 

CANADA 


Editorial 

I  could  yjeep  i  «ll  that  time 
masted  waiting  for  tapes  to  load 
and  then  having  them  fai  I  , 
forcing  me  to  reload  again  and 
again.  that's  it..  Finished, 
f i ni to  ,  neve r  sga  i  n  . 

No ..  I  haven  t  aiven  up  on  the 
old  205S  but  I  have  given  up 
fighting  a  marginal  mass  storage 
me  d  i  urn ,  n ame  ly  tape. 

After  s  years  of  frustration, 
boredom  and  hair-pullina  x 
finally  broke  down  and  bought  a 
disk  drive  system.  Larken  s  to 
be  specific.  From  the  second  I 
ran  Larry  Kenny's  system  disk, 
I  cursed  myself  for  not  ordering 
this  package  sooner.  My  initial 
resistance,  based  on  whether  I 
could  justify  the  price  of  a 
system  costing  tuji  ce  as  much  =s 
my  c omp u t er ,  e v aporated  a s  s o o n 
as  I  s  a v e d  =*  p  r o a r am  to  d  i  s  k 
then  loaded  it  back  in.  The  time 
savings  is  stagae rings  HSCRIPT 
tape  -  93  seconds.  HSCRXPT  d  i  s  k 
-  5  seconds.  Uhen  I  calculate 
all  the  time  I  have  spent 
staring  at  wa t  is  ,  wh i  l e  wa i  t i n g 
for  tapes  to  load /save  .  it  works 
out  not  to  minutes  or  hours  but 
to  days  and  since  X  have  almost 
no  patience  this  system  is  a 
godsend.  X  won't  go  into  anymore 
detai Is  except  to  sau  that  I 
.just  love  that  little  NttX 
button ! 

fl  feu*  members  helped  me  get  my 
system  running.  Special  thanks 
to  George  Chambers  for 
trouble-shooting  and  aligning  my 
used  drives,  to  Renato  Zannese 
for  assembling  a  really  neat 
little  power  supply  and  to  Sob 
Mitchell  for  supplying  an 
interface  cable  late  one  night 
on  very  short  notice.  Also  my 
apologies  to  Larry  Kenny  for 
pestering  him  to  send  me  my 
system  once  I  had  ordered  it.  Rs 
X  mentioned  be  fore ,  X  hate  to 
wait   for  anything.   'Muff  said! 

Computer  rest  '38  was  held 
mid-October  and  once  again 
Seorge  Chambers  and  Rene  Bruneau 
took  to  the  Timex-Sinc  lai r 
experts  chair.  Uisitor  response 
was  lukewarm  but  a  few 
remembered  their  old  ZXSl's  and 
maybe  our  brochure  will  revive 
their  interest.  Once  again, 
thanks  go  to  our  experts  for 
donating  their  time. 


Club  executive  Office  r 
elections  took  Place  at  t  he- 
October  meeting.  see  the 
news  letter  c o  v e  r  f o  r  new  a n d 
returning  positions.  I  must  say 
that  the  members  choice  for 
president  showed  exceptional 
good  taste  but  then  I  mau  have 
a  slight  personal  bias  on  the 
subject.  X  hope  he  can  live  up 
to  expectations. 

Th  e  n  ews  I  e  1 1 e r  f  o  r ma  t  i s 
changing  in  that  we  are  aoinq  to 
try  to  print  a  new  hardware- 
project  every  issue.  The  cover 
will  be  changing  too.  It's  time 
for        s  ome        a  r  t wo  r  k .  fln  y 

suggestions?  Any  articles?  Any 
questions?  ue ' re  here  for  you. 
so  let  us  know  what  you  want. 
(Ue're   reasonable  -  sort  of). 

One  last  point.  Be  aware  that 
we  are  Changing  our  mai  line? 
addr&ss •.  Do  not  use  the  post 
office  box  anymore.  It  will  be 
closed  in  the  next  coup  le  of 
months.  Use  the  address-  shown  on 
the  cover. 

Keep  on  5incing    (no  pun; 


J.T. 


FOR  SALE    FOR  SALE    FOR  SALE 

1  (7  TS  2068  w/Power.  Supply  (has  RGB  monitor 

output ) • 

1  n  Larken  4D  System 

(Early  version-  w/cart ridge  &  Spectrum  Eprom. 

Uncased  &  heavily  modified  for  3  drives) 
1  n  0Sn64  Eprom  only  (can  be  used  with  Larken 

Cartridge) 

1  n  TS2050  modem  (uncased) 

1  n  TS  2040  Printer  w/2  rolls  of  paper 

1  n  Compudeok  JT1115  Tape  Recorder 

1  r Printer  interface  (connects  to  Larken  I/F) 

1  -  Pascal  manual 

1  -  Book  of  Spectrum  programs 

1  n  Zeus  Assembler  manual  plus  original  tape 

1  h  Technical  manual  for  TS2068  (complete 

w/appendx's) 

2  n  Tapes  of  programs 
1  o  Diskettes 

1  n  Package  of  documentation  for  programs 

on  disks 

Complete  package  $200 
For  further  information  contact: 
Luca  Martini 
6  Maple wood, 
Outremont,  Que  H2Y  2L8 


FOR  SALE  FOR  SALE 

1  n  TS  2068 
1  „  TS  1500 
1  n  TS  1000 

1  R  Parallel  Printer  I/F 

1  -  OS  64  Cartridge  Board 

1  n  GG  Tape  Recorder 
Write  for  more  information  toi 

Al  Gedris,  355  Royal  Oaks  Blvd., 
Richmond  Heights,  OH  44143-,!  709 


SINC-LINK 


MSCRIPT  VERSION  5.3  FOR  LARKEN  DOS  C 
SOFTWARE  REVIEW  by  Bob  Mitchell  s\f 
880930  ■ 

My  long-awaited  copy  of  Version  5.3  of 
MSCRIPT  by  Jack  Dohany  finally  arrived  early  in 
June  of  this  year.  Because  I  had  told  him  that 
I  was  using  a  non-standard,  earlier  version  of 
the  Larken  DOS,  he  sent  the  program  on 
cassette,  to  be  on  the  safe  side.  I  was 
delighted  to  find  that  a  back0  up  on  disk  was 
readily  made  by  selecting  DISK  on  the  main  menu 
and  then  pressing  B. 

Documentation  was  on  paper  and  the  only  other 
program  on  the  cassette  was  the  LCODES  text 
which  contains  all  the  various  codes  that  a 
wide  printer  would  recognize.  I  understand  that 
the  disk  version  contains  all  the  documentation 
as  files. 

The  main  problem  that  I  had  had  with  my 
earlier  version  MS5T  was  one  of  the  printer 
dropping  characters  every  now  and  then.  This 
problem  has  been  resolved,  I  am  happy  to 
report. 

The  cost  to  me  for  the  new  version  was  US$25 
wnich  included  $5  for  mailing  and  handling.  The 
program  is  so  much  better  than  the  earlier 
version  that  I  was  happy  to  pay  the  price. 

Here  are  some  features  of  MSCRIPT  (not 
necessarily  in  order  of  importance)  that  make 
the  program  quite  attractive  and  make  me  a 
convert i 

1 .  Finding  and  Changing  any  string  of  up  to 
30  characters  is  simple  and  almost  instantao 
neous. 

2.  Headers  and  Footers  (titles  at  the  top  and 
bottom  of  each  page  of  a  document)  are  easy  to 
add. 

3.  Moving,  copying,  deleting,  saving  and 
loading  blocks  of  text  is  fast,  easy  and  very 
professional,  with  markers  used  to  identify  the 
block  to  be  worked  on. 

4.  The  cursor  moves  very  fast  across  the 
page.  There  is  also  a  tab  feature  that  is  very 
useful  when  developing  tables  and  lists. 

5.  When  making  a  back-up  copy,  it  is  optional 
to  include  the  text  as  part  of  the  backaupi 
ideal  for  making  a  version  that  includes,  say, 
a  letter  head  for  page  1.  If  you  want  to  make  a 
LARKEN  AUTOSTART  copy,  this  can  be  done  by 
using  < CLEAR  45OOO1 RANDOMIZE  USR  102tRUN>.  You 
have  to  CLEAR  a  higher  address  if  you  include 
any  text  in  your  save. 

6.  View  Memory  allows  you  to  PEEK  and  POKE 
the  contents  of  memory;  this  starts  at  the 
LCODE  file  which  is  handy  if  you  want  to 
inspect  and  change  any  printer  control  codes. 

7.  The  name  of  the  text  you  are  working  on 
appears  on  the  home  menu.  I  find  this  to  be 
very  useful  particularly  as  I  hop  from  text  to 
text  fairly  often.  It  let's  me  know  where  I  am 
at  the  moment.  The  GIVE  NAME  command  allows  you 
to  assign  or  change  the  name  of  your  text  at 
any  time. 

8.  There  is  an  alternative  fattened  character 
set  that  makes  reading  the  text  on  my  monitor 
much  easier.  The  use  of  different  screen 
colours  is  restricted  by  the  TS2068  hardware 
and  I  have  settled  on  white  ink  on  black  paper 
as  the  best  for  me. 


9*  The  disk  catalogue  in  the  selected  drive 
can  be  added  to  the  text  in  progress.  The  drive 
is  selected  by  entering  a  number  from  0  to  3. 
The  LARKEN  Ramdisk  is  selected  with  <4  >  and 
this  can  be  accommodated  easily  by  changing 
lines  131  and  132  in  the  BASIC  with  no  addition 
to  the  BASIC  length. 

10.  The  new  LARKEN  Version  3  EPROM  uses  the 
token  MOVE  to  call  a  file  rename  routine  and 
this  was  easily  added  to  the  home  menu  by  a  few 
lines  at  line  220  in  the  BASIC.  Watch  out  for 
an  out  of  memory  report  here.  I  had  to 
sacrifice  lines  420  to  440  (VERIFY,  which  I 
seldom  use  anyway)  to  make  room  for  this. 

11.  I  like  being  able  to  put  comment  lines  in 
the  text  to  serve  as  reminders  to  me  and  that 
won't  appear  in  the  printout.  Tab  settings  are 
one  example  as  you  have  to  reset  these  whenever 
they  default  to  their  normal  settings. 

One  thing  that  could  be  better »  It's  too  easy 
to  stutter  in  more  spaces  and  letters  than 
wanted  when  entering  text. 

MSCRIPT  is  a  totally  different  word  processor 
from  TASWORD  which  I  have  used  for  some  time 
and  which  has  its  devotees.  But  there  are  so 
many  advantages  to  MSCRIPT  that  I  have  begun  to 
switch  over  to  it  for  my  word  processing  tasks. 
Once  you  get  used  to  the  protocol  and  press  the 
right  keys,  MSCRIPT  is  just  as  easy  to  use  as 
TASWORD  and  a  lot  more  rewarding.  I  recommend 
the  purchase  of  MSCRIPT  Version  5.3  and  look 
forward  to  experimenting  with  Version  6  when  it 
comes  along.  Hurry  up,  Jack! 

n30n 


On  The  Fastrack 


SINC-UNK 


3 


LETTERS  FROM  OUR  MEMBERS 
Topics. . .Larken  &  Quad  drives,  Programming,  SIPs, 
Sequential  Filing,  Deeks,  etc. 
by  George  Chambers 

As  liaison  to  our  out  of  town  members  I  often 

get  letters  which  contain  stuff  that  is  just  to 

good  to  be  filed  away.  Typical  are  two  letters 

that  I  have  received  recently.  I  have  selected 

sections  from  them  which  seem  likely  to  be  of 

interest  to  other  members. 

********** 

Richard  Hurd,  Seaside,  Oregon  has  a  Larken 
system  with  a  pair  of  Amdek  3  inch  drives  and  a 
Tandon  quad  drive.  He  writes  as  follows « 

"  Adding  the  new  Tandon  FD,  brought  out  new 

problems  (such  a  harsh  word)  with  it  "fitting  in" 
to  the  system.  I've  put  together  a  few  utilities 
that  I  call  "ODDBALL"  to  handle  a  few  of  them.  It 
is  compatible  with  all  LKDOS  cartridge  owners. 
I've  enclosed  a  copy,  for  you  and  the  groups' 
collection.  But  I  need  to  ask  a  favor  of  you 
before  you  pass  out  any  copies.  Please  test  out 
the  Disk  Conversion  and  Disk  Copy  using  your 
Double  Sided,  Double  Density  FD's.  It  hasn't  been 
tested  with  that  combination*  It  has  a  HELP  file 
to  explain  itself  (hopefully). 

More  from  Richard i  "...After  seeing  the  group's 
newsletter  I  am  excited  about  getting  the  new 
eurom.  Remember  I  said  I  had  placed  an  order  for 
Larry  Kenny's  Sequential  Filing  utility?  (and  now 
I  hear  that  the  new  EPROM  has  built  in  Sequential 
File  Handling;  wonderful!)  At  the  time  I  also 
asked  a  question  about  Quad  Density  drives  and  the 
possibility  of  reading/  writing  Double  Density 
format.  Well,  he  wrote  back  and  explained  how  to 
read  double  density  disks  with  the  quad  density 
drive.  Track  0  is  the  first  track  on  the  first 
side,  compatible  with  both  drives.  But,  after 
track  0,  the  QD  drive  moves  two  tracks  to  the  DD 
drive ' s  1  track  move .  Like i i 

80  TRACK  (QD)  40  TRACK  (DD) 

0  nnoaannrscmn  0 
1 

2  nnofiBOsnsne  1 

3 

4  snt»«r?^nnnrjs  2 

5 

6  nrjenannnnnc  3 
8  snnnsaanijnij  ^ 

etc. 

"....For  example,  the  directory  looks  at  the 
blocks  used  by  a  file  and  then  sets  the  drive's 
head  to  that  track.  But  LKDOS  LOAD  won't  load  a 
track  whose  block  used  marker  (byte  2  in  a  block) 
doesn't  match  CURTRK.  One  way  around  it  is  to  use 
the  cartridge  routines  TRACK  and  LOADBF.  A  short 
routine  to  copy  the  appropriate  tracks  off  of  a 
Double  Density  disk  and  then  save  them  to  a  Quad 
Density  disk  all  using  one  Quad  Density  drive 
should  do  it." 

End  of  quotes  from  Richard's  letter. 

************ 

In  a  letter  from  another  correspomdent,  Steven 
Gunhouse,  Livonia,  MI  (USA) .  I  had  mentioned  the 
possibility  that  I  needed  a  SIP  in  my  2068  to  run 
some  Spectrum  programs n 

"...A  word  about  the  thing  of  attaching  a  SIP 
(Single  Inline  Plastic  package)  resistor  network. 
It  may  not  have  been  necessary  for  your  computer. 
I  know  it  wasn't  for  mine. 


"Most  programs  wouldn't  need  it  anyway.  The  only 
ones  which  require  a  resistor  network  are  those 
that  work  on  the  basis  of  interrupts.  The  only  one 
that  I  am  familiar  with  is  EZEDIT.  In  fact  that 
may  be  the  place  where  you  got  the  idea  of  adding 
a  SIP.  On  my  computer  however,  EZEDIT  ran  without 
changing  the  hardware. 

"On  an  unmodified  2068  with  no  extras,  Timex  diu 
not  put  pull  down  or  pull  up  resistors  on  all  the 
data  lines.  That  means  that  if  you  are  in  a 
condition  when  neither  memory  nor  Z80  are  putting 
stuff  onto  the  bus,  you  have  no  way  of  knowing 
what  condition  the  data  lines  are  ;  . .  However, 
either  the  AAERC0  printer  interface  or  disk 
interface  on  my  system  must  include  such 
resistors.  Additionally,  if  you  have  a  Spectrum 
emulator,  which  is  any  more  than  a  ROM,  it 
probably  has  them  as  well. 

"There  is  one  easy  way  to  find  out.  All  you  have 
to  do  is  a  machinenlevel  IN  command  from  a 
nonnexistant  port.  Something  such  as  PRINT  IN  0 
should  be  sufficient.  If  you  get  anything  other 
than  255,  your  machine  does  not  have  pull-ups  and 
can  benefit  from  a  SIP  properly  installed  «  or  you 
do  not  have  a  port  0  (the  number  zero). 

"...I  have  thought  about  your  "DEEK"  function. 
("DEEK"  =  Double  Peek,  gfc)  There  are  only  about  a 
half  a  dozen  ways  to  do  it.  The  choice  depends 
mostly  on  how  you  would  like  to  pass  your 
parameters.  If  the  USR  function  allowed  a  second 
parameter,  then  all  would  be  easy.  You  would  just 

write  a  simple  ml  program  and  then  type  PRINT  USR 
(DEEK,  a)  and  that  would  be  that.  Of  course,  DEEK 
and  "a"  would  be  numbers,  the  location  of  your  ml, 
and  the  address  to  DEEK. 

"However  things  are  not  that  easy.  So  you  will 
have  to  find  a  method  to  pass  the  address  to  the 
ml.  Also,  you  will  have  to  decide  whether  to  pass 
the  result  to  BASIC,  or  do  something  else  with  it 
Oh, you  could  also  DEF  FN  in  BASIC  to  get  your 
DEEK,  as  for  example  Tasword  II  does*  with  the 
line  i 

1  DEF  FN  d(a)=  PEEK  a+256*  PEEK  (A+l) 

2  PRINT  FN  d(address)i  REM    To    show    how  it 
would  be  used. 

"The  obvious  methods  in  BASIC  arei  Store  the 
address  in  memory  with  2  pokes  or  RANDOMIZE,  find 
the  variable,  store  it  as  a  FN  parameter,  get  it 
from  the  math  stack,  or  do  something  to  actually 
change  BASIC.  Obviously  the  RANDOMIZE  approach  is 
the  easiest,  if  you  dont  need  to  use  RND  anywhere. 
The  using  two  pokes  is  simulating  D0KE  in  BASIC. 
It-  would  lokk  like  this? 

10    POKE    address,     INT    (value/256) t  POKE 
address+1,  valuer  256*PEEK  address 

For  either  of  these  approaches,  the  ml  would 
simply  be  1 

LD  HL,  (address)       Notet  if  you  are  using 
LD  B,  (HL)  RANDOMIZE,  "address"  is 

INC  HL  SEED  =  5C76,  or  23670  dec. 

LD  C,  (HL) 
RET 

The  other  methods  are  much  more  complicated.  I 
can  refer  you  to  several  articles  in  ZX  COMPUTING 
Monthly  for  these,  especially  the  Machine  Code 
Calculator  article  in  the  October  1986  issue.  As 
far  as  modifying  BASIC  goes,  you  could  break  into 
the  routine  at  0008  and  modify  the  syntax  of  the 
PEEK  command,  but  that  is  too  complicated  to  go 
into  here. 

"... I  have  a  rather  unique  use  for  sequential 
files  to  suggest.  You  can  do  something  called 
programmed  input,  which  is  putting  things  that 
would  normally  be  input  into  the  file.  You  can  do 


4 


SINC-LINK 


this  even  with  BASIC  commands.  So  you  couid  write 
a  "program-  on  the  disk,  and  then  have  the 
computer  read  frrom  the  disk  what  it  thiks  it  is 
getting  from  direct  input. 

I   As  a  simple  example,  OPEN  a  sequential  file,  and 
LIST  a  program  into  it.  Then  print  a  CLOSE  #0  to 
the  disk,  and  close  the  channel.  This  effectively 
saves  the  program,  though  without  the  numeric 
"slugs-  and  such.  Then  you  could  later  load  it, 
not  with  a  LOAD,  but  by  opening  stream  0  to  the 
file.  Actually  this  would  be  more  like  a  MERGE, 
unless  you  included  a  NEW  in  the  file  before  the 
listing. 

What  you  would  type  is  thisi  (with  a  program 
already  in  the  2068) 

PRINT  #4i  open  #5, "Program" 

LIST  #5 

PRINT  #5.  CHR*  245*"#4i"*CHR$  212+-0" 

PRINT  #Ui  CLOSE  #5 

NEW  i  REM  To  erase  the  program 

PRINT  #4i  OPEN  #0,  -Program- 1  REM  will  rewrite 

the  entire  program 

You  could  do  anything  this  way,  juat  as  you 
would  from  a  keyboard.  Note,  the  CHR$  245  is  a 
PRINT,  the  CHR$  212  is  a  CLOSE  #. 

My  only  remaining  complaint  with  the  Larken  DOS 
is  the  requisite  PRINT  #4.  This  could  be  gotten 
around  as  the  British  Interface  One  did,  by 
breaking  into  the  error  routine  at  0008,  or  by 
several  other  methods.  However,  it  is  certianly  no 
worse  than  AERCO's  nonstandard  commands  »  CAT  to 
LOAD,  MOVE  to  SAVE,  etc. 

Well,  I  hope  this  information  has  been  useful. 

I  am  currently  working  fullotime...  .- 

End  of  quotes  frm  Steven's  letter. 

|    Does  this  prompt  any  other  members  to  respond. 
Please  write  to  me. 


r 


n  SiniDic   Sound  Porn 


Tnere   seems  to  error   in  ihe 
drawing  that   I   provided  in 
the  Sept  -  Oct  38   issue  or" 
Sine-Link.    Below  you  will 
find  a  new  drawing. 


Rwr  VieuJ 


So*Ht> 


MOT  TO  SCALE" 


A  DATA  ACQUISITION  SYSTEM  FOR  THE  QL 
from  Prairie  Digital 

We  have  received  a  one  page  flyer  advertising 
a  data  acquisition  system  for  the  QL  computer. 

The  sheet  is  a  little  bit  too  much  to  include 
in  the  newsletter,  but  I  should  like  to  give  a 
few  details  about  it. 

It  is  a  printed  circuit  board  that  plugs  into 
the  expansion  connector  of  the  QL. 

The  advert  makes  the  following  statements i 
n24  lines  of  programmable  I/O 
r>8  channel  -  8  bit  A/D  converter 
nl2  bit  counter 

nComes  with  easy  to  follow  instructions 

The  price  is  $89.00  US  for  1  system. 
There  are  quantity  discounts. 
The  bare  board  sells  for  $30,  and  includes 
complete  instructions 

Add  $3  for  shipping  and  handling.. .cheque,  M.O. 
or  C.O.D. 

PRAIRIE  DIGITAL      U56I  SANDPIPER  TRAIL, 
COTTAGE  GROVE,  WI  53527  U.S.A. 

I  have  not  heard  about  these  people  before, 
so  I  'can  give  no  particular  recommendation.  You 
are  on  your  own.  Let  us  know  how  you  make  out. 
How  about  a  review. 

George  Chambers 


Here  is  a  simple  program  which 
can  be  used  to  pick  lottery 
numbers.   The  program  has  been 
modified  so  it  prints  the 
numbers  to  a  80  column  printer 
automatically.   The  program  can 
be  used  with  a  2040  printer  by 
modifing  all  LPRINT  CHRS  1  to 
COPY.   To  save  this  Program  go 
Line  9985.   Good  luck  with  this 
program.   R.    Zannese  Oct., 23, 38 

Con't  next  page 


SINC-LINK 


5 


5  REM  Modified    for    the  Lark en 
Disk  System  By  R.   Zannese  Oct.? 2 

3,  I9SS 

10  BORDER  zi    INK  9:    PAPER  0;  c 

LS 

15  PRINT  #45    OPEN  #3,  !!LP,! 

20  PRINT  AT  1,8? "  Ly  tie  Softwa 
re    !!;TAB  8;  ,!         LOTTERY  !! ;  TA 

B  8;  "       Or  ig  i  cr.ai  !! ;  TAB  8;  !! 

MAR.  20,1985  " ;  TAB  8;  !'  Progr 
ams  " 

30  PRINT  AT  8,6; "1.  LOTTO" ; AT 
10,6s "2.  PICK  FOUR"; AT  12, 6; "3. 
THE  DAILY  NUMBER " 

35  PRINT  AT   14,6; "4.  6-49" 

40  PRINT  AT  21,7;  BRIGHT  O; "En 
t  er   your   cho  i  cs  i: 

50  PAUSE  0:    LET   j  =VAL  INKEY$: 
IF   j<l   OR   j>4  THEN     GO  TO  50 

60  CLS   :    BORDER   j  :    GO  TO  1000* 

J 

1000  PRINT     INK  7;    PAPER  O; AT  0, 

10;  ,!   L  0  T  T  0  " 

1010  PRINT     7 :  RESTORE 

1020  LET  bl=0 

1030  FOR  c=l  TO  5:    READ  a* 

1040  DATA  "A" , "B"  ,  "C" , "D" , "E" , "F 

"  ,  " G "    "H"  ,  "  I  "  ,  ,!.J" 

1 050  PR INT  TAB  10; "Selection  No. 
"  ;a$ 

1060  FOR  a=l  TO  6 

1070  LET  b=INT  (RND*39)+1 

1080  IF  b=bl  THEN     GO  TO  1070 

1100  IF  b<10  THEN     PRINT  "  "; 

1110  PRINT  "  ";b; 

1115  LPRINT  "  ";b; 

1120  LET  bl=b:   NEXT  a 

1130  PRINT  TAB  3;"  


1135  LPRINT  TAB  3;  !! 


1140  PRINT 
1145  LPRINT 
1150  NEXT  c 

1160   INPUT  "C=copy       R=reset  E 
NTER=next       " ;   LINE  d*:    IF  d*="c 
!!  THEN     LPRINT  CHR$  1 
1170  IF  d*="r"  THEN     CLS  :    GO  TO 

1000 

1180  IF  c=6  THEN     CLS   :  PRINT 
2   FOR  c=6  TO  10:   READ  a*:    GO  TO 
1050 

1190  PRINT  TAB  6;    INK  2;    PAPER  7 
;    FLASH   1?"  6  0  0  B     LUCK  " 
1200  PAUSE  200:   GO  TO  10 
2000  PRINT  AT  6,7;"   PICK     F  0 

U  R  " 
2010  FOR  c=i  TO  4 
2020  LET  p4=INT  <RND*10) 
2030  PRINT  AT  12,8+<c*3> ;p4 
2040  NEXT  c 

2050  PRINT  AT  21,7;"  Push  !! ;  FLA 
SH   l;p4;    FLASH  0;"    for  MENU  " 


2060   IF   INKEYSOSTRS         "HEN  60 

TO  2060 
2070  GO  TO  10 

3000  PRINT  AT  6.-6;  "   THE     N  U  M 

B  E  R  " 
3010  FOR   c=l   TO  3 
3020  LET  p3=INT  (RND*KO 
3030  PRINT  AT   12, 10+ < c*3>  ;  p3 
3040  NEXT  c 

3050  PRINT  AT  21,7;    BRIGHT   1 ;  "  P 
ush   ";    FLASH   l;p3;    FLASH  0;  "  for 
MENU  " 

3060   IF   INKEY*<  >STR$  p3  THEN  60 

TO  3060 
3070  GO  TO  10 

4000  BORDER   l:    PRINT     INK  7;  PAP 

ER  O;  AT  0,  10;  "6-4  9  :! 

4010  PRINT     7 :  RESTORE 

4020  LET  bl=0 

4030  FOR   c=i   TO  5:    READ  5* 

4040  DATA   "  A"  -  " B "  ,  " C  "  >  " D "  ,  " E "  ,  !! F 

!!,  "G"  ,  ,!H",  "I",  ".J" 

4050  PRINT  TAB  10; "Select  i  on  No. 
!! :  a$ 

4055  LPR I NT  TAB  10: "Selection  N o 
. " ;  a* 

4060  FOR  a=l   TO  6 

4070  LET  b=INT  (RND*49>+1 

4080   IF  b=bl   THEN     GO  TO  4070 

4100   IF  b<10  THEN     PRINT  "   " ; 

4105   IF  b<10  THEN     LPRINT  " 

4110  PRINT   "  ";b; 

4115  LPRINT   "  ";b; 

4120  LET  bl=b:    NEXT  a 

4 1 30  PR I NT  TAB  3; "  


4135  LPRINT  TAB  3; " 


4140  PRINT 
4145  LPRINT 
4150  NEXT  c 

4160   INPUT   MC=copY       R=reset  E 
NTER=ne  x  t        ";    LINE  d$:    IF  d*="c 
"   THEN     LPRINT  CHR$  1 
4170   IF  d*="r,!   THEN     CLS  :    GO  TO 
4000 

4180   IF  c=6  THEN     CLS  :   PRINT   ' ' 
■    FOR  c=6  TO   10:    READ  a$:    GO  TO 
4050 

4190  PRINT  TAB  6;    INK  2;    PAPER  7 
;    FLASH   1 ; "  G  O  O  D     LUC  K  " 
4200  PAUSE  200:    GO  TO  10 
9980  STOP 

9985  REM  lark en  save 

9995  PRINT  #4:    SAVE   "Lotto -Bl"  L 

INE  10 


LINK 


BEGINNERS  SECTION  By  Bill  LaWSOIl 

=OUTTNEST^TEISIR^TR,°pr  W°ULD  BE  PROGRAMMER  IS  AN  EFFECTIVE  • INPPUT- 
INPUT  AGAINST  WHAT  TS^POMToen  *"  INPUT  STATEMENT  AND  «ECK  THE  NATURE  OF  THE 
FIRSTLY      THE  CHECKS  Ipp  Mnr^  °"     AU-0WED   IN  ANY     PARTICULAR  CIRCUMSTANCES  BUT 

ANY  DIREC^  CONTROL  n»  tS  ,  "°RE  CLUMSY  T°  C0NSTRUCT  AMD  SECONDLY  IT  PREVENTS 
EXTRA  KEY' =PESsT\hE  ENTER  key!"  "  ™"     ^  STRING  "»     ALWAYS  REQUIRES  THE 

ENABLE 1 V AL I ^KEYS^^Pllljr  T T n«'T  1 SFACT0RY  ™  ESTABLISH  THE  VALID  INPUT  AND  ONLY 
OF  INPUT  FUNCTION.      THIS   IS  READILY  ACHIEVED  WITH  THE   •  INKEY.'  FORM 

THE  REQUIREMENT  OF  AN   INPUT  ROUTINE   INCLUDES: - 

1)    A   SCREEN  PROMPT 

2!    USUALLY,    BUT  NOT   ALWAYS,    A  CURSOR   TO   INDICATE  WHERE   THE   INPUT  WILL  OCCOUR 
A  MEANS  OF  ENABLING  ONLY  RELAVANT   KEYS.  OCCOUR. 


J) 
5) 


CONTROL  OF  THE  MAXIMUM  AND  MINIMUM  NUMBER  OF  CHARACTERS  TO  BE  ACCEPTED 
ASSIGNMENT  OF  THE   INPUT  TO  A  STRING  OR  NUMERIC   VARIABLE  AS  APPROPRIATE: 


ARRAYCACONTAININGUTHEEpPn«?cRAMS   "     WILL  ALS°  BE  NEC"SARY  TO  CREATE  A  STRING 

AnnAL=  amI  I M     =!  °HPTS  AN°  ™E  RESpONSES  TO  INCLUDE  IN  A  HARD  COPY  OUTPUT 

ROUTINE  AND  ALSO  TO     PROVIDE     A     DEFAULT     RESPONSE , OFTEN     THE  RESPONSE     FROM  A 

PREVIOUS  RUN  OF  THE  PROGRAM  ELEMENT.                               '                    E  RESPONSE     FROM  A 

quxte'brIefll^bIIt  it*  «6p»E«!d0F  A  particular  pr°*ra«  can  usually  be  written 

POSSIBLE  AREA     OP^LIC^t™  T°  WR"E     A  R°UT1NE     WHICH  HAS     THE  "KST 

PROGRAM  APPLICATION     SO  THAT     THE  SAME     CAN  BE     USED  VIRTUALLY     IN  ANY 

WE  WILL  START  AT  THE  SHARP  END  WITH  THE  PROCEDURE  USED  TO  RECIEVE  EACH  AND  EVERY 
STATEMENTS     NoT^HOw"^^  ^  "     N°  "EE"  ™     ANYY  OTHER  ^NKEYS^ 

RECOMMEND  I S^ -  °"  VA"IED     ™E  PR0SRA"  REQUIREMENT.        THE  FORM  I 

DEFine  PROCedure  KEYINPUT (POS) 

REPeat  KEY 

z*=inkeysc-io:pos»z*  instr  po*:if  pos: return: else: beep  2000,20 

END  REPeat  KEY 

END  DEFine  KEYINPUT 

PERMISSABLe'kEYS^T^,  -I".  A  STR1N8  PARA"ETER  ««CH  MUST  CONTAIN  ALL 
PERMISSABLE  KEYS.   IT  WAITS  FOR  A  KEY  TO  BE  PRESSED.     CHECKS  WHETHEV  THE  KEY  IS  A 

VARIABLE***?™'   RESP°NDS  A  BEEP     IF     N°T     AND     RETURNS     THE     CH^RACTCR  IN 

COPIED  FROM  QUANTA  NEWS/L  V.   2  ISS.    10  NOV.  85 

WRITTEN  BY  JOHN  TANNER  23  NORTHUNBR I A  DR  BRISTOL  BS9  4HL    (0272)  623401. 

Con't  next  issue 


SINC-LINK 


7 


HACKER 
A  program  review 
by  Greg  Robins 

Late  one  night  as  you  scan  a  number  of 
electronic  bulletin  boards  you  try  a  certian 
number.  You  find  your  screen  has  suddenly 
turned  blue.  Thinking  of  a  possible 
malfunction  in  your  equipment  you  reach  over 
to  shut  the  computer  off.  It  is  then  you 
notice  written  in  white  letters  across  the 
screen  "LOG  ON  PLEASE" . 

Ah,  there  is  no  main  screen  advertising 
this  program,  no  list  of  HELP  keys  as  a  clue 
as  to  where  you  are.  There  is  nothing  but  the 
message.  After  two  attempts  at  the  password 
(in  brackets)  you  notice  a  written  "PRESS  H 
FOR  HELP".  Doing  so,  you  see  printed  "PASSWORD 
HAS  BEEN  CHANGED. . .NEW  PASSWORD  LOCATION 
TESTSITE. . .LOGON  PLEASE".  You  have  just 
started  playing  HACKER. 

HACKER  was  originally  released  by  Activision 
in  1985»  followed  2  years  later  by  it's 
sequel,  HACKER  II.  I  recently  was  able  to 
purchase  the  original  program  from  England. 
The  tape  came  with  no  intructions  to  start  you 
off,  only  with  steps  on  how  to  load  the 
program. 

You  start  off  logging  onto  a  high  security 
network.  Due  to  a  malfunction  in  the  security 
you  are  connected.  Then  you  receive  a  message 
giving  you  a  clue  as  to  what  you  have  stumbled 
onto.  Next  you  are  presented  with  a  diagram  of 
a  subterranean  remote  unit  (SRU).  You  must 
then  do  a  laser  alignment  test  over  all  the 
droid ' s  circuitry.  This  takes  a  number  of 
tries,  because  if  you  make  one  mistake,  you 
will  receive  a  "test  error"  report,  and  have 
to  start  from  the  beginning. 

Once  this  is  successful  you  then  are 
presented  with  a  map  of  the  world  on  the  lower 
half  of  your  screen,  and  the  controls  for  the 
droid  at  the  top  half.  Next  you  are  asked  to 
set  the  time  of  day  you  wish  to  begin.  Once 
this  is  completed  your  mission  begins.  You 
must  use  your  SRU  to  recover  shredded  pieces 
of  the  document  scattered  across  the  world. 
These  pieces  hold  vital  information  to  a 
project  Washington  wishes  to  learn  more  about. 
This  project  could  mean  world  domination.  So 
it's  up  to  you  to  recover  the  information, 
Using  your  SRU,  you  travel  the  continents 
searching  out  spies  who  have  the  pieces  of  the 
document. 

You  end  up  in  France,  England,  Russia,  or 
anywhere  on  the  globe.  To  get  these  important 
shreds  of  the  document  you  must  buy  them  or 
trade  with  these  agents.  WARNING!  Some  agents 
will  take  what  another  agent  will  want  for  his 
piece  of  the  document.  This  is  where  things 
can  get  tricky.  I  was  at  first  disappointed  in 
this  aspect  of  the  game,  because  I  felt  that 
HACKER  would  be  travelling  through  different 
networks,  using  information,  telephone 
numbers,  etc.  to  learn  about  the  project. 
Until  suddenly,  I  was  caught  up  in  dealing 
with  the  agents,  trying  to  put  the  pieces  of 
the  document  together,  and  to  solve  it  before 
obtaining  the  last  piece. 

Once  you  have  all  pieces  of  the  document 
you  head  to  Washington  where  agent  Levi  will 
give  you  a  password  so  you  can  logr?on.  Then 
the  real  hacking  begins. 


I  have  at  the  time  of  this  review  recovered 
four.-?f if ths  of  the  document.  Soon  I  hope  to 
have  all  the  pieces  so  I  can  do  what  I  really 
enjoy,  especially  in  a  game,  hacking. 

They  say  everyone,  even  if  they  will  not 
admit  it  openly,  enjoy  doing  something  that  is 
slightly  illegal.  With  HACKER  you  do  just 
that.  Even  if  it  is  only  in  an  artificial 
world . 


And  an  excerpt  from  another  member,  Larry 
Crawford,  London  Ontario,  who  writes i 

"....Thanks  for  your  30  Aug  letter.  I  have 
been  plagued  with  disk  drive  problems.  Tried 
replacing  everything  everything  else  that  I 
had  not  replaced  before,  with  the  same 
irustrating  i-esults.  It  finally  dawned  on  me 
that  it  all  worked  smoothly  when  the  drives 
were  on  the  bench,  but  failed  when  put  back  in 
place  on  the  shelf.  Tried  exotic  shielding, 
rerouting  the  cable, etc.  with  no  success.  That 
wasn't  the  problem.  The  drives  were  sitting 
vertically  on  the  bench  and  horizontally  on 
the  shelf.  They  are  now  humming  away  happily 
on  the  shelf,  in  the  vertical  position.  I 
won't  even  speculate  as  to  the  actual  problem, 
but  as  long  as  they  keep  working,  I'm  not 
going  to  mess  with  them  any  more." 


AN  UNUSUAL  DISK  DRIVE  PROBLEM 

One  of  our  members,  Bob  Mitchell, a  frequent 
contributor  to  our  newsletter, recently  ordered 
and  received  a  quad  drive  from  Ed  Grey 
Enterprises.  During  the  process  of  setting  it 
up  he  encountered  CRC  errors.  The  errors 
occurred  only  in  the  high-numbered  tracks. 
Tried  the  drive  in  another  system;  same 
result.  Visual  inspection  of  the  drive  showed 
that  the  head  movement  was  sluggish  toward  the 
end  of  its  travel,  and  when  moved  manually, 
sure  enough  there  was  some  resistance  to 
travel  at  the  inner  part  of  the  disk.  Very 
puzzling, until  it  was  noticed  that  the  lead 
from  the  drive  head  assembly,  leading  to  the 
drive  electronics,  was  snagging  on  the 
interface  connector  at  the  rear  of  the  drive, 
preventing  the  head  from  it's  full  travel. 
Relocating  the  wires  cleared  the  problem 
completely.  G.F.C. 


GOT  ANY  GAME  TIPS,  PEEKS  OR  POKES? 

SEND  THEM  TO  SINC-LINK  AND  WE'LL 

PUBLISH  THEM  IN  THE  NEXT  ISSUE  AND 
WE'LL  CREDIT  YOUR  NAME! 


SINC-LINK 


Programming  tips. . . .LARKEN  System 

by  George  Chambers  '  • .  '. 

\ 

In  writing  utilities  for  the  Larken  system 
I  have  developed  a  number  of  short  routines 
which  I  incorporate  into  many  of  them.  This 
article  is  to  share  some  of  them. 

i 

I  like  to  use-  "buried"  colour  codes  in  my 
programs.  I  call  them  "buried"  for  lack  of  a 
better  term.  Although  many  of  you  are  familiar 
with  use  of  this  programming  trick,  I  shall 
expand  on  it  for  benefit  of  the  uninitiated. 
Type  in  the  following  line. 

10  PRINT  "GEORGE" 
Bring  the  line  down  for  editting,  and  move 
the  cursor  over  to  between  the  first  quotation 
mark  and  the  G.  Now  get  into  the  "E"  mode  by 
pressing  the  CAPS  SHIFT  and  SYMBOL  SHIFT  keys 
simultaneously.  Then  press  one  of  the  keys  1 
to  7,  or  0.  The  line  being  editted  will  change 
to  the  colour  represented  by  the  key  you  just 
pressed. 

That's  fine,  but  the  colour  will  continue 
through  the  balance  of  your  listing.  You  can 
remove  it  by  moving  the  cursor  over  to  say, 
between  the  letter  E  and  the  second  quotoation 
mark.  Here  you  should  again  get  into  the  "E" 
mode,  then  press  the  7  key.  This  will  bring 
the  line  being  editted,  back  to  the  normal 
whits  PAPER  colour. 

This  is  all  very  well,  but  when  one  is 
listing  a  program  during  a  debugging  session, 
these  "buried"  colour  codes  mess  the  screen  up 
terribly.  This  is  why  many  programmers  detest 
this  programming  gimmick. 

What  this  is  leading  up  to  is  the  following 
line  which  I  insert  into  my  programs.  Whenever 
I  am  writing  a  program  I  install  a  line  8000 
as  shown  below  Then  during  the  debugging 
process  I  enter  GOTO  8000  to  clear  out  the 
listing. 

* 

8000>INK  0 i PAPER  7 «  BORDER  7iCLS  iLIST 
8999  STOP 

Although  you  may  think  that  having  a  disk 
system  means  never  using  a  tape  recorder 
again,   'tis  not  so.  I  use  the  tape  on  many 
occasions.  This  is  why  I  have  found  it  useful 
to  incorporate  the  following  lines  into  many 
of  my  programs.  This  provides  a  simple  way  of 
going  either  to  tape  or  to  disk. 


9000>CLS  i LET  od=4tPRINT  AT  15, 9j "SAVE  ROUTINE" 
""  Press  " " D " "  key  to  save  to  disk,"""  or 
» n ip n m  key  tQ  saye  tQ  tape"iPAUSE  0 

9010  IF  INKEY$=i!t"  OR  INKEY$="T"  THEN    LET  od=2 

9020  PRINT  #odi  SAVE  "sample. Bl"  LINE  100 
9030  PRINT  #od»  SAVE  "Move  ,C1"C0DE  32000,1000 

Many  of  my  disks  hold  Spectrum  programs,  and 
have  an  AUTOSTART  menu  which  has  been  saved  in 
the  Spectrum  mode.  Naturally,  this  AUTOSTART 
menu  will  not  load  when  one  is  in  the  2068 
mode.  I  append  the  following  lines  to  the 
AUTOSTART  program.  The  program  is  then  saved 
by  GOTO  9000.  Now,  same  loading  procedure 
works  with  both  the  Spectrum  and  TS2068  disks. 

9000>CLEAR  27000i RESTORE  9050 
9020  FOR  n=23300  TO  23309 
9030  READ  at  POKE  n,a 
9040  NEXT  n 

9050  DATA  205. 102, 0,62, 3, 211, 244, 201, 0,0,0 
9060  RANDOMIZE  USR  23300 
9070  RUN 


Having  several  drives  and  a  RAMdisk  on  my 
system  has  meant  organising  my  programs 
somewhat,  so  as  to  move  back  and  forth  between 
drives  as  appropriate  with  a  minimum  of 
effort.  I  have  found  it  very  useful  to  have 
the  following  lines,  with  appropriate 
variations,  in  many  of  my  programs.  If  you 
have  more  than  one  drive  on  your  system  you 
will  find  this  subroutine  very  useful. 

The  "PRINT  #4 1  GOTO  4"  points  my  system  to 
the  RAMdisk,  where  all  my  program  menus  are 
stored.  You  could  modify  the  routine  to  point 
to  the  appropriate  drive.  The  PRINT  #4i  NEW 
causes  an  AUTOSTART  on  that  drive. 

720>PRINT  AT  VAL  "15",VAL  "6" {"Disk  copy  compl 
eted" '' "Press  P  key  for  RAMdisk  menu,  or  anot 
her  key  to  copy  next  disk" 

730  PAUSE  NOT  PI 

740  IF  INKEY$o"P"  AND  INKEY$o"p"  THEN  RUN 
790  PRINT  #4 1  GO  TO  4i  PRINT  #4t  NEW 


SCRABBLE  and  the  LARKEN  System 
by  George  Chambers 

SCRABBLE  is  a  computer  game  that  _  is 
patterned  very  closely  after  the  familiar 
board  game.  Among  the  player  options  are  the 
facility  to  SAVE  and  LOAD  a  game  at  any  stage 
of  it's  progress.  Of  course  the  SAVE/LOAD 
option  is  to  tape.  What  we  want  to  do  here  is 
change  the  option  to  save  to  disk. 

The  program  has  a  short  BASIC  component 
which  is  used  for  the  LOAD/SAVE  procedure.  It 
is  this  Basic  section  that  we  shall  modify. 

Load  the  program.  Whether  you  are  loading 
the  game  from  disk  or  from  tape,  you  should 
break  into  it  after  loading  by  pressing  the 
Larken  NMI  button,  followed  by  the  A  key.  The 
program  will  not  crash.  Instead,  you  will  be 
able  to  list  it. 

Modify  the  listing  to  correspond  to  the 
listing  below.  Take  note  of  the  following 
pointsi 

1.  The  N$  has  been  DIMmed  to  n$(10)  in  the 
program.  Change  this  by  entering  as  a  direct 
command...  DIM  n$(9).   (don't  use  the  commands 
CLEAR  or  RUN) 

2.  I  had  to  instal  line  5  because  I  found 
the  program  would  not  operate  on  my  choice  of 
instruction,  "LET  N$  =  N$  +  ".Cs".  That  is  why 
the  LOAD  and  SAVE  commands  use  the  term  n$+d$ 
for  the  program  name.  I  can't  explain  it. 

3.  Do  not  elaborate  on  the  BASIC  program. 
The  game  code  is  very  low  in  memory  and  there 
is  a  danger  you  may  overwrite  it. 

Re-enter  the  game  by  GOTO  10,  then  immedin 

ately  SAVE  the  modified  program  to  disk  by 

using  the  NMI  function.  Rename  the  program 
with  a  RENAME  facility. 

4  INPUT  "FILENAME  «   ";  LINE  n$i  IF  LEN  n$>6 
THEN    LET  n$=n$(  TO  6) 

5  LET  d$=".Cs"i  RETURN 
10  GO  TO  USR  VAL  "46474" 

50  BORDER  VAL  "5"t  CLS  t   PRINT  AT  VAL  "6", PI* 
PI j "Loading" 1  GO  SUB  Pit  PRINT  USR  VAL  "100" 1  L 
OAD  n$+d$C0DE  i  GO  TO  USR  VAL  "46477" 
90  GO  TO  USR  VAL  "46474" 
100  BORDER  VAL  "5"i  CLS  1  PRINT  AT  VAL  "6", PI* 
PI j "Saving  game"i  GO  SUB  PIi  PRINT  USR  VAL  "100 
"1  SAVE  n$+d$C0DE  VAL  "60368",VAL  "5l6?nt  GO  TO 
USR  VAL  "46477" 


SINC-LINK 


PROJECTS  FOR  THE  TS  COMPUTERS 


Beginning  with   this   issue,    we  would 
like  to  present  a  column  for  those  of 
you  who  are   interested   in  building  or 
modifying   hardware  for  your  TS1000  or 
TS2068.    Most  of  the  projects   lined  up 
will   be  directed  at  the  TS1000  but 
instructions  or  modifications  will  be 
included  for  the  TS2068.   Some  of  the 
ideas  for   presentation  are  old,  some 
are  borrowed  and  we  will  do  our  best 
to  give  credit  where  it   is  due.  Don't 
be  surprised  if  you  see  IBM  or  APPLE 
pop  up  once  in  a  while. 

Projects   currrently  being  considered 
include: 


1.  Sound  Generator 

2.  Eprom  Burner 

3.  Parallel  Interface 

4.  MIDI  Interface 

5.  64k  SRAM  Board 

6.  Keyboard  Interface 


TS1QQ0 

TS1000/TS2068 
TS1000/TS2068 
TS10Q0/TS2068 
TS1000 

TS1000/TS2068 


7.    Buffered  Motherboard  TS1000/TS2068 

In  addition  we  hope  to  be  able  to 
present  VERO/Proto  Board  layouts  for 
projects  that  have  appeared  in  this 
newsletter  as  well  as  in  others  as  an 
aid  to  those  people  who  have  been 
hesitant   in  constructing  hardware  for 
their  computers.   To  assist  us  in  this 
endeavour,   we  would  like  to 
correspond  with  anyone  who  has  put  a 
project  together  and  would  like  to 
share  the  fruits  of  their  labour. 

We  would  like  to  invite  your 
questions  and  suggestions  for  material 
to  be  incorporated  into  this  column. 

PROJECT  No.    1   "Mini  Mother  Board" 

There  are  two  accepted  ways  of 
attaching  peripheral  devices  to  the  TS 
computers.   Anyone  who  owns  a  Gladstone 
or  Memotech  RAM  Pack  and  a  thermal 
printer  is  familiar  with  the 
Feed-through  Connector  that  these 
devices  have.   While  they  are 
inexpensive  they  do  have  the 
disadvantage  of  flexibility  (where 
none  is  wanted).   The  second  type  of 
connector  that  is  used  is  a  "mother 
board/daughter  board"   arrangement  that 
is  used  in   larger  computer  systems. 
The  previously  mentioned  IBM  and  APPLE 
systems  use  this  method. 


Map  1  in   from  England  and  John  Oliger 
in   the  U.S.A.    offer  motherboards  ? 
sale.    The  base  price  for  a  bare 
printed  circuit   is  about  $10  to  $15. 
If  your  familiar  with  the  surplus 
market   you  can  often  find  something 
suitable  at  very  reasonable  prices. 

A  one  slot  motherboard  can  be 
constructed  from  an  APPLE  or  IBM 
Extender  Board 

Prices  range  from  $5  to  $10  dependin 
on   the  computer  store  where  you  buy 
your  parts.   The  former  is  suitable  f 
the  TS1000   (50  conductors)   and  the 
latter   is  almost   perfect  for  +-he 
TS2D68    (62  conductors). 

PARTS:     Extender  Eoard 

2  edge  connector  (wire  wrap) 
0.100  inch  pitch;  50  (or  60) 
pins 

CONSTRUCTION: 

1-    Trim  the  edge  connectors  down  in 
length  to  fit  the  buss  on  the  back  - 
your  computer. 

2.  Bend  and  trim  the  leads  on  one  of 
the  connectors  to  about  1/4  inches, 
the  leads  have  to  fit   in  the  double 
row  of  plated  holes  on  the  extender 
board. 

3.  Bend  the  leads  of  the  other 
connector  to  fit  neatly  over  the  end 
of  the  extender  board. 

4.  Cut  the  extender  board  shorter  if 
required  and  solder  the  two  edge 
connectors  onto  the  board  ensuring 
that   they  are  square.   Solder  two  leac 
first,   make  your  adjustments,  then 
solder   leads  on  alternate  sides.  You 
can  make  adjustments  by  reheating  the 
solder  Joints. 

5.  Clean  the  flux  off  the  board  and 
check  for  solder  bridges. 

6.  Test  the  board  by  inserting  it 
between  your  computer  and  a  memory, 
pack  or  printer.    If  the  cursor  does 
not  appear  or   if  nothing  prints  then 
recheck  your  work. 

by  Rene  Bruneau 


10 


SINC-LINK 


A  LARKEN  DISK  LIBRARY 
George  Chambers 

with  an  increasing  number  of  TS2068  owners 
getting  disk  drives  it  is  natural  enough  to 
consider  the  creation  of  a  Larken  disk  library. 
I  would  like  to  ask  for  comments  on  the  subject 
from  other  owners. 

Personally,  I  have  mixed  feelings  on  the 
matter.  Although  I  am  in  sympathy  with  the  idea 
I  am  also  aware  that  it  would  devolve  on  me 
(probably)  to  maintain  and  administer  it!!  This 
has  a  rather  inhibiting  effect,  and  possibly 
this  affects  my  thoughts  on  the  matter. 

Let  me  say  that  I  am  basically  enthusiastic 
about  the  idea.  Our  club  has  been  in  the  fore-, 
front  of  the  Larken  Disk  system  movement  and  it 
seems  only  right  and  proper  that  we  should  start 
a  Larken  disk  library.  However  lets  consider  the 
ramifications  of  it.  Lets  ask  some  questions. 

1.  What  programs  would  be  on  the  disks.  Would 
they  be  simply  a  copy  of  the  existing  tape 
library.  Or  should  they  be  confined  to 
programs  which  are  particularly  appropriate 
to  the  Larken  system. 

2.  Should  it  support  more  than  one  di:-ik  format 
or  be  confined  to  one  agreed-on  format. 

3.  If  a  single  format  is  determined  to  be 
appropriate,  which  should  it  be. 

4.  What  about  the  Larkenized  Oliger  and  Aerco 
systems.  How  would  they  be  handled. 

Enough  questions i  Let  me  give  you  some  of  my 
own  thoughts! 

Firstly,  it  should  be  simple  to  administer. 
This  probably  means  that  it  should  not  duplicate 
the  programs  presently  in  our  tape  library. 
Tapes  probably  will  continue  to  be  our  common 
medium  of  exchange,  and  I  think  the  disks 
hould  contain  those  programs  which  are  unique 
j  the  disk  system. 

The  documentation  for  the  programs  should  be 
on  the  disks  containing  the  program.  These 
could  be  in  the  form  of  Tasword  files  which 
could  be  viewed  on  screen  or  printed  out  on  a 
large  printer,  using  the  new  version  3  Larken 
Eprom  DOS. 

Ideally,  a  disk  should  contain  only  one 
program  or  a  suite  of  related  programs,  not  an 
accumulation  of  unrelated  materials,  which  may 
already  exist  on  club  library  tapes. 
It  goes  without  saying  that  the  disks  would  have 
only  material  released  to  the  public  domain. 

Probably  the  Master  disks  should  be  in  one 
format,  namely  DSDD.  Members  who  could  not 
handle  that  format  could  request  a  copy  in  the 
desired  format, i.e.  Singlersided,  or  Quad 
density. 

It  appears  most  appropriate  to  simply  mail  out 
disks,  without  return.  This  because  the  mailing 
costs  currently  seem  to  equate  to  the  cost  of 
the  disk  itself.  There  would  have  to  be  a 
nominal  reimbursement  to  cover  disk  purchases 
and  postage  costs. 

In  my  experience  in  writing  Larken  utilities, 
it  is  a  constant  task,  upgrading  and  adding  new 
features  to  them.  This  inclines  me  to  feel  that 
a  disk  should  be  identified  to  the  member  author 
so  that  he  could  answer  questions  about  it,  and 
incorporate  any  improvements  which  may  be 
suggested  or  become  evident.  This,  rather  than 
expecting  the  disk  librarian  to  do  it,  or  worse 

irovements  not  being  done  at  all.  "  * 

.barken  owners,  let's  hear  from  you. four 
comments/ '■suggestions  are  welcomed. 

************* 


LARKEN  RS232  PRINTER  DRIVER 

The  following  is  a  listing  that  Larry  Kenny 
sent  me,  to  be  used  with  the  Ed  Grey  RS0232C 
Interface  (ZoSI/0). 

This  interface  consists  of  two  boards  and  is 
designed  to  work  with  the  TS2068.  It  is  now 
available  only  as  bare  boards,  for  US$24.50  , 
plus  $2.50  S&H. 

For  more  information  on  this,  and  many  other 
TS2068  accessories,  send  a  stamped  self a 
addressed  envelope,  plus  $1  toi  Ed  Grey 
Enterprises,  P.O.  Box  2186,  Inglewood,  CA 
90305. 

I  suggest  that  Canadian  T/S  users  send  a 
Postal  Money  Order  in  US  Funds  in  lieu  of 
stamps  or  cheques. 

G.  Chambers 


10  REM  RS232  DRIVER  FOR  LKDOS  Versio 
n  3  EPROM 

15  RANDOMIZE  USR  lOOt  OPEN  #4,"dd" 

20  LET  ST=  i 9 1 1  REM  8251  Status 

22  LET  DT=159i  REM  8251  Data 

25  PRINT  "Select  Parameters"" 

30  PRINT  "1       8/1/N    at  300  baud"' "2  7/l/E 
at  300  Baud'"  "3      8/1/N    at  1200  Baud"' "4  7/1/ 
E  at  1200  Baud" 

40  INPUT  "Select  1  -  4  ";a 

50  IF  a=l  THEN    LET  baud=lll 

60  IF  a=2  THEN    LET  baud=123 

70  IF  a=3  THEN    LET  baud=110 

80  IF  a=4  THEN    LET  baud* 122 

90  IF  a>4  THEN    GO  TO  40 
100  REM  Initialize  RS232  Port 

110  OUT  ST.Oi  OUT  ST.Oi  OUT  ST,0i  OUT  ST,64t  OU 
T  ST.baudi  OUT  ST.183 
120  REM  Install  Driver  in  LKDOS  Cartridge  using 

PRINT  #4 1 POKE 
130  FOR  a*l6l00  TO  16109 
140  READ  vi  PRINT  #4i  POKE  a,v 
150  NEXT  a 

160  PRINT  #4i  POKE  8216,16100 
170  PRINT  #4 i  POKE  16096,4 
180  PRINT  #4 1  OPEN  #3."lp" 

200  DATA  219, ST, 203, 87, 40, 250, 241, 211, DT, 201 

8999  STOP 

9000  CLEAR  «  PRINT  USR  lOOi  SAVE  "driver. Bl" 


GOT  ANY  QUESTIONS? 
GOT  ANY  ANSWERS? 


SEND  THEM  TO 


SINK-LINK  AND 


WE'LL  PUBLISH 


THEM  FOR  ALL 


MEMBERS  TO  USE 


AND  COMMENT  ON. 


SINC-LINK 


REUIEU 

FIRST   CLASS   FONTS    iSYTE  POUER) 


i  he  P3£t  COUP  L £ 
covers  :  as  yje  l  l 
have  £  x  amp  les  of 
many  fonts  a va i  La 
in  Byte  Power's 
ronts": 

This  pacKage  co 
sty  i  e  s  i  s  £  £  fig. 
option   to  print  n 

height  Characters 

in  ord£f   to  use 
oum  program:  you 
the   font   code  of 
per  instructions: 
address  and 
incorporate  the 
routine  (again 
instruction  sj  m 
listing, 

ih£  ins  ructions 
simply  enough  tha 
experimenting  yo 
the  results  you 
Listing  at  r  i  a  h 
created  to  Prod 
blurb  in  the  f 
mi th  the  2049 
really  quite  a  imp 
out  t here  make  it 
pleaseY  -ed  J 

This  package  a  L 
more     p  rograms , 
produces  an 
character  sat 
third  program  is 
print     utility  a 
program     is     a  c 
de finer.  Not  a  ba 
package.     For  mo 
and  current  price 
Power  ,   I 743  Head 
Pickering,  Ontari 


o  f     neius  l 
as.  this 
some     o  f 
ble   to  the 
"Fi  rs  t 

n tains  17 

13  With 
o  rma  lord 
(fig.   23  . 
a    font   i  n 
mus  t  first 
you  r   cho i c 

noting 
length) 
the  call 
as 

to  your 


are 
t  UJi  th 
U  '  u 
loan 

t       i  S 

u  ce  t 
u  t  u  r  i  s 
printer 
l e    (  can  a 
mo  re     a  ia 


laid 
a  L 
soon 

t  X 

•jjha 
he 
t  i  c 


S  0 

The 

O  I  d 

fig. 
a 

nd 

h  a  r  a 
d  de 
re 

£  C  0 
OUIV  i 
O  L 


con  tax 
next 
En 
3)  , 
54  C 
the 
c  ter 
a  I  in 
i  n f o rm 
n  t  a  c  t : 
euj  mv 
1U  3G3 


e  t  ta  r 
one  = 
the 
_  u  s  e  r 
u  Lass 

font 
the 
ou  fa  Le 

your 
save 
e    ( as 
start 
then 
out 
pe  r 
a  a  s  i  c 

out 
litis 

m 

t  i 

cover 
font 
It  i 
nyone 
g  a  n  t  ? 

ns  3 
one 

g  Lish 
The 

o  lumn 
Last 
set 
one 

a  t  i  on 
By  te 

e  n  u  e  , 


Jeff  Taylor 


1  REM       Newsletter  Blurb 

by  jiff  Taulor 
ioronto  Ti me x -Sinclair 
Users  Club 

2  REM 

5  FOR  N=0  TO  20   STEP  2 
10  READ  h$ 

15   IF   H$="I"   THEN   GO  TO  90 

IS   IF  A$  =  "        ::   THEN  COPY 

20  LET  H=43450-255 

30  POKE  23505 =fi-25S*INT  CA/2at> 

i 

40  POKE  23507: INT  iA/25S) 

41  LET  X=N 

42  LET  Y  =0 

50  PRINT  RT  X =  y ; Hs 
50  LET  H=A-i-75S 

70  POKE  23505 ,A-255*INT  m/2pc 

i 

30  POKE  23507 = INT  iR/2553 

35  PRINT  RT  X+I , f ; AS 

36  NEXT  N 

37  OOPY 

38  OLS    :    IF   >;  =20  THEN   GO  TO  P 

39  GO  TO  10 

90  POKE  23505  =  0 
100  POKE  23507 : 50 

210  DRTR  "S INC -LINK  IS  R  PUcL 
ICATION  OF" 

211  DATA  "THE  TORONTO  TIMEX -5 IN 
CLAIR  USERS" 

212  REM  DhTR  "CLUB  AND  IS  155 
UED     5     TIMES  A" 

213  DRTR    "YEAR ,    CGPIE5     OF  THip 
NEUSLETTER " 

214  DRTR  :!RRE  $1.50  ERCH  FOR  N 
ON -MEMBERS.  " 

215  DRTR   "CLUB  MEMBERS  REOEIUip 
R   FREE  COP"'" 

216  DRTR  "RS  PRRT  OF  THE  $20 
.00  ANNUAL" 

217  DRTR    "MEMBERSHIP  FEE." 
2IS  DRTR  " 

219  DRTR    "  " 

220  DRTR  "NEWSLETTERS  ARE  EXCH 
RNGED ,  FREE" 

221  DRTR  "OF  CHRRGE ,  UXTH  OTH 
ER     TIMEX- " 

222  DRTR   "SINCLAIR   USER  GROUPS . 


Type  lfc*iter 

Style 

Head  m 

8*14 


m»»y 


Snal  1 
Snail 


T  ¥  p  -2 

B*li 


ksAA  -IWi 


Bold 


Plain 

Thin 


3-D0U3LS 

5-outr 


ij 


SH1CH 


Figure  1 


MRTERIRL  IS  PUS 
CRN     BE  REPRINT 


223  DRTR    "  " 

224  DRTR    "  " 

225  DRTR  "ALL 
LIC  DOMAIN" 

226  DATA  "RND 
ED.  PLEASE" 

227  DATA  "CREDIT  THIS  PUBLIC ATI 
ON  AND  THE" 

228  DATA   "AUTHOR      IF  YOU  COPY 
MATERIAL . " 

229  DATA   "  " 

230  DATA   "  " 

231  DATA  "SEND  CORRESPQNDANCE  T 
0:  " 

232  DATA   "  " 

233  DATA   "Attention:    5 INC -L INK 
EDITORS . " 

234  DATA  "TORONTO  TIMEX -SINCLA 
IR  USERS" 

235  DATA  "CLUB ,  14  RIO HO ME  CO 
URT," 

236  DATA  "SCARBOROUGH,  ONTARIO, 
CRNfiDR , " 

237  DATA   "M1K  2Y1" 

238  DATA  " 

239  DATA  "2" 


41!&-LlftK  lift  RSLt^vim 

Figure  2 


12 


SINC-LINK 


TASWORD  and  the  Larken  Printer  Driver  - 
by  George  Chambers  T s 

A  lot  of  my  Timex  club  work  involves  writing 
letters  in  duplicate.  That  is  to  say,  I  make  a 
carbon  copy,  As  a  consequence,  most  of  the 
time  I  use  single  sheets  of  paper,  rather  than 
formfeed.  With  a  lengthy  letter  this  gets 
quite # involved.  What  I  required  was  a 
modification  to  Tasword  to  enable  it  to  PAUSE 
after  printing  out  a  page,  so  that  I  could 
insert  the  next  page  in  the  printer. 

When  Larry  K's  new  version  3  EPROM  DOS  came 
out  with  it's  improved  printer  driver  routine 
it  seemed  an  appropriate  time  to  rework  the 
Tasword  print  routine. 

The  results  of  this  exercise  are  shown  in 
the  following  listing. 

Several  things  should  be  noted  in  this 
listing! 

1.  There  are  a  number  of  variables  in  the 
listing  which  are  undeclared.  They  are 
variables  with  the  names  oo,  oa,  ob,  oc,  od, 
etc.  The  idea  is  to  create  a  set  of  easily 
identifiable  variables  names. 

Bill  Jones,  editor  of  the  Timex  periodical, 
TS  UPDATE,  must  be  given  credit  for  this  idea. 
Bill's  standard  is  to  make  oo=0,  oa=l,  ob=2, 
oc=3,  od=4,  etc.,  continuing  up  to  ot=20.  Of 
course,  for  a  particular  program  you  may  not 
need  every  one  of  the.  Use  only  those  that  you - 
need.  But  stay  with  the  philosophy,  and  at  any 
time  it  is  easy  to  determine  what  a  variable 
represents,  by  counting  it  out  alphabetically. 

I  have  used  this  system  of  variables 
throughout  Tasword  to  save  space,  so  I 
declared  the  variables  very  early  in  the 
program.  You  may  do  likewise,  or  simply 
declare  them  in  a  new  line  202. 

2.  This  listing  gives  a  number  of  options, 
such  as  Drive  selection,  page  pause,  lines  per 
page,  starting  line  #,  line  spacing,  etc. 
Default  values  are  given,  so  that  if  they  are 
acceptable  you  may  simply  press  the  ENTER  key. 
I  entered  "buried"  colour  codes  for  each  of 
the  INPUT  queries,  to  make  them  stand  out. 
These  do  not  appear  in  the  listing,  but  you 
might  consider  their  use. 

3.  Line  203  sets  up  the  Larken  Printer 
driver.  Poke  16090  establishes  page  length  (64 
characters,  Poke  16092  establishes  whether 
there  is  to  be  a  line  feed  along  with  the 
carriage  return  (no,  in  the  case  of  my 
printer,  yours  might  be  different) 

You  may  note  that  the  LINE  203  that  invokes 
the  Larken  printer  driver  has  been  treated  as 
a  REM  line.  This  is  because  I  later  realized 
that  to  use  the  Tasword  "graphics"  printer 
codes  I  would  have  to  stay  with  the  Tasword 
printer  driver  code!! 

The  Page  Pause  routine  operates  on  this 
basis.  When  the  feature  is  invoked  at  line 
205,  lines  230  and  265  mark  out  the  data  that 
is  to  be  printed  on  the  initial  sheet. 
Printing  is  then  carried  out  by  lines  275, 
280,  and  285.  The  program  then  jumps  to  line 
287  to  print  a  "next  page"  message,  and  to 
introduce  a  PAUSE  until  a  key  is  pressed. 


When  a  key  is  pressed  line  287  continues, 
through  to  line  289  to  mark  the  next  block  of 
data  that  is  to  be  printed;   jumps  to  line  275 
for  a  repeat  of  the  printing  routine;  and  so 
on  until  the  last  of  the  text  that  is  to  be 
printed  is  reached.  Lines  266  &  288  check  for 
the  end  of  the  file  and  make  any  necessary 
correction  so  that  the  printer  stops  promptly 
after  the  last  line  of  text  has  been  printed. 
That  is  to  say,  so  that  it  does  not  sweep  over 
empty  lines  to  the  end  of  the  marked  out' page. 

*********************** 


Modified  TASWORD 
(Partial  listing) 

200  CLS  :  PRINT  AT  VAL  "14", VAL  " 1 0" s "PRINT  OP 
TIONS":  PRINT  "     just  press  ENTER  for  default 

values  given  in  brackets" 

201  DIM  d$(32; 

203  REM  Por  Larken  Printer  Driver!  REM  PRINT 
#odi   OPEN  #oc,"lp"i  PRINT  #odi  POKE  VAL  "16090" 
,VAL  "65"!  PRINT  //od!  POKE  VAL  "l6092",oo 

205  LET  h=ooi  LET  p=oa!  POKE  VAL  "23658", 001  I 
NPUT  "  Page  Pause?  N/(Y)";a$i  IF  a$="n 

"  THEN    LET  p=ooi   LET  h=ai  GO  TO  VAL  "220" 

212  INPUT  "  Lines  per  page?(  55) "  ;  b$  1  IF  b$= 
"M  THEN  LET  b$="55":  LET  g=VAL  "3520" t  GO  TO  V 
AL  "220" 

215  LET  g=VAL  b$*VAL  "64" 

220  POKE  VAL  "60927", oai  REM  left  margin 

222  INPUT  "  Line  spacing?  (l)";a$i  IF  a$="" 
THEN    LET  a$="l" 

223  POKE  VAL  "62235", VAL  a$ 

225  INPUT  "  Start  at  line?  (l)";a$i  IF  a$=" 
"  THEN    LET  a$="l" 

230  LET  c  =  VAL  "64"* ( INT  VAL  a$^VAL  "  1 "  )  1  LET  b 
=c+FN  p(VAL  "62216") 1  LET  x=VAL  "60045"!  GO  SUB 

VAL  "950" 

240  INPUT  "        Finish  at  line?  (last)  ";a$i  IF 

a$=""  THEN    LET  b=arC!  GO  TO  VAL  "250" 

245  LET  b=VAL  "64"*INT  VAL  a$-c 

250  RANDOMIZE  USR  VAL  "59806" 1  RANDOMIZE  USR  ( 
FN  p(VAL  "62472") ) 

260  CLS  !  PRINT  AT  VAL  "20" , 00 ; "Press  the  q  ke 
y  to  quit  printing" 

265  IF  p  THEN  LET  b  =  VAL  b$*VAL  "64" i  LET  g=bi 
LET  h=b 

266  IF  g>a  THEN    LET  b=a!  LET  g=bi  LET  h=b 
270  LET  x=VAL  "60049"!  GO  SUB  VAL  "950" 

275  LET  c=PEEK  VAL  "62470"  i  IF  cooo  THEN  LPR 
INT  CHR$  c 
280  RANDOMIZE  USR  VAL  "6OO38" 
282  IF  h>=a  THEN    GO  TO  VAL  "290" 

285  LET  c=PEEK  VAL  "62471 "«  IF  cooo  THEN  LPR 
INT  CHR$  c 

286  IF  PEEK  VAL  "23560"=VAL  "113"  THEN    GO  TO 
290 

287  IF  p  AND  h<a  THEN    PRINT  AT  VAL  "15M.oa;"P 
ress  a  key  for  next  page"'"       Lines  left  ";  PA 
PER  of ;  (arrh)/VAL  "64";  PAPER  ogi  PAUSE  001  LET 
b=FN  p(VAL  "60045" )i  LET  b=b+VAL  b$*VAL  "64" i  L 
ET  x=VAL  "60045"!  GO  SUB  VAL  "950" i  LET  h=h+g 

288  IF  h>=a  THEN  LET  b=a.-,(hrrg)  1  LET  x=VAL  "60 
049" 1  GO  SUB  VAL  "950" 

289  PRINT  AT  VAL  "15" ,oa;d${d$i  GO  TO  VAL  "275 

w 

290  RANDOMIZE  USR  VAL  "59806" 1  GO  TO  VAL  "10" 


S1NC-LINK 


THE  LAST  PAGE 


On  The  Fastrack 


Postmaster,  If  Undelivered  Return  To: 

Toronto  Timex— Sinclair  Users  Club 
14  Richome  Court,  Scarborough, 
Ontario,  M1K  2Y1,  CANADA 


14 


SINC-LINK